package main

import (
	"time"
)

//var wg sync.WaitGroup

//func main(){
//	ch := make(chan int,2)
//
//	wg.Add(2)
//	go set(ch)
//	go set(ch)
//	wg.Wait()
//	fmt.Println(<-ch)
//}
//
//func set(ch chan int) {
//	defer wg.Done()
//	ch <- 1
//	return
//}
100
  1
101
010
func main() {
	c := make(chan struct{},2)
	go a(c)
	for {
		select {
		case <-c:
			println('a')
		case <-time.Tick(time.Second):
			println('c')

		}
	}


}

func a(ch chan struct{})  {
	time.Sleep(time.Second*2)
	 ch <- struct{}{}// 空chan，没有值写入c中，阻塞于此 - deadlock

}


